Conventionally, there is a device for performing wireless communication at a short distance. For example, in communication based on the Bluetooth (registered trademark) standard, a certain device as a master and another device as a slave form a single network and communicate with each other.
In the conventional wireless communication, however, there is room for improvement in the communication of a device in the state of being connected to a certain device, with various devices.
Therefore, it is an object of an exemplary embodiment to provide a technique for communicating with various devices.
To achieve the above object, the exemplary embodiment employs the following configurations.
A first configuration is a wireless system including a plurality of devices capable of performing wireless communication. A first device among the plurality of devices executes: an acquisition process for acquiring a single piece of application data for an application; and a transmission process for wirelessly transmitting a broadcast or multicast packet that can be used for a connection with another device. The first device in the transmission process divides the application data, separately transmits the pieces of divided application data in a plurality of broadcast or multicast packets, and also transmits first information by including the first information in the broadcast or multicast packets, the first information indicating which parts of the application data are the pieces of divided data included in the broadcast or multicast packets, and transmits second information by including the second information in the broadcast or multicast packets, the second information indicating whether or not the broadcast or multicast packets are packets for a connection with another device.
Based on the above, a first device can transmit application data using a broadcast or multicast packet that can be used for a connection with another device. Further, the first device can divide the application data and transmit the pieces of divided application data in a plurality of packets. This makes it possible to transmit a larger amount of data.
Here, “broadcast” includes broadcast to unspecified devices (all devices in the range where communication can be performed) and broadcast to limited unspecified devices. A “limited unspecified device” is a device that is not uniquely specified (a unique address assigned to the device is not specified), but has a common attribute or is in a common state.
A second configuration is a wireless system including a plurality of devices capable of performing wireless communication. A first device among the plurality of devices executes: an acquisition process for acquiring a single piece of application data for an application; a transmission process for wirelessly transmitting a broadcast or multicast packet; and a reception process for wirelessly receiving a broadcast or multicast packet from another device. Further, the first device repeatedly executes the transmission process and the reception process; and in the transmission process, divides the application data, separately transmits the pieces of divided application data in a plurality of broadcast or multicast packets, and also transmits first information by including the first information in the broadcast or multicast packets, the first information indicating which parts of the application data are the pieces of divided data included in the broadcast or multicast packets.
Based on the above, a first device can divide application data and transmit the pieces of divided application data in a plurality of packets. This makes it possible to transmit a larger amount of data.
In the first and second configurations, the first device may further execute a reception process for wirelessly receiving a broadcast or multicast packet from another device, and may repeatedly execute the transmission process and the reception process.
Based on the above, a transmission process and a reception process are repeated, whereby it is possible to transmit application data to another device and also receive data from another device.
In the first and second configurations, at least one of an execution period of the transmission process, timing for executing the transmission process, an execution period of the reception process, and timing for executing the reception process may be variable.
In the first and second configurations, at least one of the execution period of the transmission process, the timing for executing the transmission process, the execution period of the reception process, and the timing for executing the reception process may be randomly set.
Based on the above, a transmission process and a reception process are repeatedly performed, whereby it is possible to, for example, between a device and another device, match transmission timing of one device and reception timing of the other device.
In the first and second configurations, the first device may alternately and repeatedly execute the transmission process and the reception process. In the case where “the transmission process and the reception process are alternately and repeatedly executed”, the transmission process and the reception process may be alternately performed with a stopping period provided between the transmission process and the reception process.
Based on the above, for example, it is possible to shorten the time from transmission timing of one device to reception timing of the other device.
In the first and second configurations, a sleep period in which neither the transmission process nor the reception process is performed may be present at least between the transmission process and the reception process, between the transmission process and the transmission process, or between the reception process and the reception process.
Based on the above, a sleep period is provided in which neither the transmission process nor the reception process is performed. Thus, it is possible to reduce power consumption.
In the first and second configurations, the sleep period may be variable.
In the first and second configurations, the sleep period may be randomly set.
Based on the above, the transmission process and the reception process are repeatedly performed, whereby it is possible to, for example, match transmission timing of a device and reception timing of another device.
In the first and second configurations, the wireless system may include a second device. The first device and the second device may establish a connection with each other and perform wireless communication with each other. In the transmission process, the first device in the state of being connected to the second device may transmit the plurality of broadcast or multicast packets.
Based on the above, the first device in the state of being connected to a second device can transmit application data to another device by broadcast or multicast.
In the first and second configurations, the connection may be established between the first device and the second device such that the second device is a master and the first device is a slave, and in the transmission process, the first device in the state of being connected as a slave to the second device may transmit the broadcast or multicast packets.
Based on the above, the first device connected as a slave to the second device can transmit application data to another device by broadcast.
In the second configuration, the wireless system may include a second device. The first device and the second device may establish a connection with each other and may perform wireless communication with each other. The first device in the state of being connected to the second device may execute the transmission process and/or the reception process. Further, the connection may be established between the first device and the second device such that the second device is a master and the first device is a slave, and the first device in the state of being connected as a slave to the second device may execute the transmission process and/or the reception process.
In the first and second configurations, the first device and the second device may establish a connection with each other and then may repeatedly perform synchronous communication with each other. In the transmission process, the first device may transmit the plurality of broadcast or multicast packets in a period except for timing when the first device performs synchronous communication with the second device.
Based on the above, the first device can perform synchronous communication with the second device and also transmit data to another device.
In the first and second configurations, the wireless system may include a third device and a fourth device. The third device and the fourth device may establish a connection with each other and then may repeatedly perform synchronous communication with each other. In a period except for timing when the fourth device performs synchronous communication with the third device, the fourth device may receive a plurality of broadcast or multicast packets transmitted by the transmission process of the first device.
Based on the above, the first device can communicate with the fourth device connected to the third device.
In the first and second configurations, the wireless system may further execute an adjustment process for adjusting at least either one of timing of the synchronous communication between the first device and the second device and timing of the synchronous communication between the third device and the fourth device.
Based on the above, it is possible to adjust the timing of synchronous communication between the first device and the second device and the timing of synchronous communication between the third device and the fourth device. Thus, it is possible to improve the efficiency of communication.
In the first and second configurations, the first device may execute the adjustment process.
Based on the above, the first device can adjust the timing of the synchronous communication.
In the first and second configurations, in the adjustment process, the timing of the synchronous communication between the first device and the second device and the timing of the synchronous communication between the third device and the fourth device may be adjusted to be close to each other.
Based on the above, it is possible to match the timing of the synchronous communication between the first device and the second device and the timing of the synchronous communication between the third device and the fourth device. For example, the first device and the fourth device can efficiently communicate with each other.
In the first and second configurations, in the transmission process, the first device may transmit the plurality of broadcast or multicast packets without an instruction from the second device.
Based on the above, the first device can communicate with another device without an instruction from the second device.
In the first and second configurations, the second device may establish a connection with the first device and then may repeatedly execute a transmission process for transmitting data and/or a reception process for receiving data at a predetermined time interval.
Based on the above, the first device can communicate with the second device at a predetermined time interval.
In the first and second configurations, the first device may communicate with the second device in time with a single round of processing in the transmission process and/or the reception process executed multiple times by the first device in a predetermined period.
Based on the above, the first device communicates with the second device only once in a predetermined period. Thus, it is possible to reduce power consumption.
In the first configuration, the first device may execute a reception process for wirelessly receiving a broadcast or multicast packet at timing different from timing of the transmission process, and may repeatedly execute the transmission process and the reception process. In the transmission process, the first device may transmit timing information by including the timing information in the broadcast or multicast packet, the timing information indicating timing of the transmission process and/or the reception process to be executed by the first device next time or later.
Based on the above, the first device can notify another device of the timing of a transmission process and/or a reception process to be performed by the first device next time or later.
In the second configuration, in the transmission process, the first device may transmit timing information by including the timing information in the broadcast or multicast packet, the timing information indicating timing of the transmission process or the reception process to be executed next time or later.
Based on the above, the first device can notify another device of the timing of a transmission process and/or a reception process to be performed by the first device next time or later.
In the first and second configurations, the wireless system may include a third device. The third device may repeatedly execute a transmission process for wirelessly transmitting a broadcast or multicast packet and a reception process for wirelessly receiving a broadcast or multicast packet, and based on the timing information from the first device, may adjust timing for executing the transmission process and/or the reception process.
Based on the above, based on the timing information from the first device, the third device can adjust the timing for performing a transmission process and/or a reception process.
In the first and second configurations, the application data may be data for specifying a content that can be used in an application.
Based on the above, the first device can transmit data for specifying a content.
In the first and second configurations, the application data may be data that can be used in a game.
Based on the above, the first device can transmit data that can be used in a game.
In the first and second configurations, the wireless system may include a third device. The third device may execute a reception process and a data reconstruction process. In the reception process, the third device receives a plurality of broadcast or multicast packets transmitted by the transmission process of the first device. In the data reconstruction process, based on the first information and based on the plurality of broadcast or multicast packets received in the reception process, the third device acquires the plurality of pieces of divided data and reconstructs the application data using the plurality of pieces of divided data. The third device performs an application process based on the application data reconstructed by the data reconstruction process.
Based on the above, the third device can receive a plurality of broadcast or multicast packets from the first device, thereby reconstructing application data, and perform predetermined processing using the application data.
In the first and second configurations, the device may perform wireless communication while switching a frequency of a radio wave.
In the first and second configurations, the device may perform wireless communication while switching between a plurality of predetermined different frequencies.
In the first and second configurations, in the transmission process, the broadcast or multicast packet may be transmitted while switching between three channels.
In the first and second configurations, a standard for the wireless communication may be Bluetooth Low Energy.
In the first and second configurations, a frequency band of wireless communication performed by the wireless device may be the 2.4 GHz band.
Another configuration may be a wireless system including a plurality of devices capable of performing wireless communication based on the Bluetooth Low Energy (BLE) standard. A first device among the plurality of devices may execute: an acquisition process for acquiring a single piece of application data for an application; and a transmission process for wirelessly transmitting an advertising packet. The first device in the transmission process may divide the application data, may separately transmit the pieces of divided application data in a plurality of advertising packets, and may also transmit first information by including the first information in the advertising packets, the first information indicating which parts of the application data are the pieces of divided data included in the advertising packets, and may transmit second information by including the second information in the advertising packets, the second information indicating whether or not the advertising packets are packets for a connection with another device.
Another configuration may be a wireless system including a plurality of devices capable of performing wireless communication based on the Bluetooth Low Energy (BLE) standard. A first device among the plurality of devices may execute: an acquisition process for acquiring a single piece of application data for an application; a transmission process for wirelessly transmitting an advertising packet; and a reception process for wirelessly receiving an advertising packet from another device. Further, the first device may repeatedly execute the transmission process and the reception process. Further, the first device in the transmission process may divide the application data, may separately transmit the pieces of divided application data in a plurality of advertising packets, and may also transmit first information by including the first information in the advertising packets, the first information indicating which parts of the application data are the pieces of divided data included in the advertising packets.
Based on the above, a first device can transmit application data of a relatively large size in communication based on the BLE standard, using an advertising packet.
Another configuration may be a wireless device capable of performing wireless communication. The wireless device may execute: an acquisition process for acquiring a single piece of application data for an application; and a transmission process for wirelessly transmitting a broadcast or multicast packet that can be used for a connection with another device. The wireless device in the transmission process may divide the application data, may separately transmit the pieces of divided application data in a plurality of broadcast or multicast packets, and may also transmit first information by including the first information in the broadcast or multicast packets, the first information indicating which parts of the application data are the pieces of divided data included in the broadcast or multicast packets, and may transmit second information by including the second information in the broadcast or multicast packets, the second information indicating whether or not the broadcast or multicast packets are packets for a connection with another device.
Another configuration may be a wireless device capable of performing wireless communication. The wireless device may execute: an acquisition process for acquiring a single piece of application data for an application; a transmission process for wirelessly transmitting a broadcast or multicast packet; and a reception process for wirelessly receiving a broadcast or multicast packet from another device. The wireless device repeatedly executes the transmission process and the reception process. The wireless device in the transmission process may divide the application data, may separately transmit the pieces of divided application data in a plurality of broadcast or multicast packets, and may also transmit first information by including the first information in the broadcast or multicast packets, the first information indicating which parts of the application data are the pieces of divided data included in the broadcast or multicast packets.
Another configuration may be a wireless system including a plurality of devices capable of performing wireless communication. A first device among the plurality of devices may execute: an acquisition process for acquiring a single piece of application data for an application; and a transmission process for wirelessly transmitting a broadcast or multicast packet to another device. The first device in the transmission process divides the application data, separately transmits the pieces of divided application data in a plurality of broadcast or multicast packets, and also transmits first information by including the first information in the broadcast or multicast packets, the first information indicating which parts of the application data are the pieces of divided data included in the broadcast or multicast packets.
Another configuration may be a wireless communications device comprising:
a wireless radio transceiver, and
a processor operatively coupled to the wireless radio transceiver, the processor configured to control the wireless communications device to:
wirelessly broadcast or multicast a connection packet,
acquire application data,
divide the application data into plural portions, and
wirelessly broadcast or multicast each portion of the divided application data in a respective broadcast or multicast packet, each respective broadcast or multicast packet including: (a) information identifying a part of the application data, and (b) information indicating whether the packet is a connection packet.
In the above configuration, the information identifying a part of the application comprises a sequence number.
Another configuration may be a program to be executed by a processor of the wireless device. Further, another configuration may be a communication method to be executed by the wireless system or the wireless device.
According to the exemplary embodiment, it is possible to communicate with various devices using a broadcast packet.
These and other objects, features, aspects and advantages of the exemplary embodiments will become more apparent from the following detailed description of the exemplary embodiments when taken in conjunction with the accompanying drawings.